package org.vgou.service;

import java.util.List;

import org.vgou.model.Category;

/**
 * 
 * Copyright (c) 2011, vgou<br>
 * All rights reserved.<br>
 * 
 * @since 2011-11-27
 * @author <a href="mailto:jason.hxx@gmail.com">jason</a>
 * @version Id: ICategoryService.java
 * @comment 商品类型服务接口类
 * 
 */
public interface ICategoryService {

	/**
	 * 创建商品类型记录
	 * 
	 * @param category
	 * @return
	 * @throws Exception
	 */
	long create(Category category) throws Exception;

	/**
	 * 修改商品类型记录
	 * 
	 * @param category
	 * @return
	 * @throws Exception
	 */
	int update(Category category) throws Exception;

	/**
	 * 删除商品类型记录
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	int del(long id) throws Exception;

	/**
	 * 根据商品类型ID取得商品类型记录
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	Category getById(long id) throws Exception;

	/**
	 * 取得指定条件下的商品类型数目
	 * 
	 * @param categoryName
	 *            商品类型名称
	 * @param status
	 *            状态
	 * @return
	 * @throws Exception
	 */
	int getAllCount(String categoryName) throws Exception;

	/**
	 * 取得指定条件下的商品类型集合
	 * 
	 * @param categoryName
	 *            商品类型名称
	 * @param orderBy
	 *            排序属性
	 * @param isAsc
	 *            是否升序
	 * @param startPage
	 *            分页开始索引
	 * @param pageSize
	 *            每页显示数目
	 * @return
	 * @throws Exception
	 */
	List<Category> getAll(String categoryName, String orderBy,
			boolean isAsc, int startPage, int pageSize) throws Exception;
}
